package com.kfm.pm.pet;

public class Test {

    public static void main(String[] args) {
        // 要看等号右边到底指向的是哪一个对象，然后去调用对应的方法
        // 自动类型转换
        byte a = 1;
        int b = a;
        // 强制类型转换
        int c = 2;
        byte d = (byte) c;

        // 向上转型 子类向父类转换 自动完成 父类无法调用子类新增的方法和属性
        Pet pet = new Dog();
//        pet.shout();
//        pet = new Bird();
//        pet.shout();
        // 向下转型  instanceof
        System.out.println(pet instanceof Dog);
//        if (pet instanceof Dog) {
//            Dog dog = (Dog)pet;
//            dog.shout();
//        }
        if (pet instanceof Dog dog) {
            dog.shout();
        }
////        Pet pet = new Dog();
//        pet.toHospital();
//
//        // 向上转型 子类向父类转换
//        pet = new Bird();
//        pet.toHospital();
    }
}
